package com.tang.partition;

import org.apache.flink.api.common.functions.Partitioner;

/**
 * 自定义分区逻辑
 *
 * @author tang
 * @since 2023/6/8 18:00
 */
public class MyPartitioner implements Partitioner<String> {
    
    /**
     * Computes the partition for the given key.
     * 使用给定的可以进行分区
     *
     * @param key           The key.
     * @param numPartitions The number of partitions to partition into. 子任务数量（要划分的分区数）
     * @return The partition index. 分区index
     */
    @Override
    public int partition(String key, int numPartitions) {
        return Integer.parseInt(key) % numPartitions;
    }
    
}
